package com.tsd.jxc.buy.entity;


import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 采购退货单
 *
 * @author Hillpool
 * @date 2022/12/12 16:49:30
 */
@ApiModel(description = "采购退货单")
public class JxcBuyReturnBill implements Serializable {

    @ApiModelProperty(value = "自动增长的数字序号", example = "1")
    private Long id;

    @ApiModelProperty(value = "编程代码设置的uuid", example = "1")
    private String sid;

    @ApiModelProperty(value = "创建时间", example = "1")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    private Date create_date;

    @ApiModelProperty(value = "创建人sid", example = "1")
    private String creator_sid;

    @ApiModelProperty(value = "创建人名称", example = "1")
    private String creator_name;

    @ApiModelProperty(value = "更新时间", example = "1")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    private Date update_date;

    @ApiModelProperty(value = "更新人sid", example = "1")
    private String updator_sid;

    @ApiModelProperty(value = "更新人名称", example = "1")
    private String updator_name;

    @ApiModelProperty(value = "0-待审核，-1审核拒绝，1-审核通过", example = "1")
    private Integer audit_state;

    @ApiModelProperty(value = "审核日期", example = "1")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    private Date audit_date;

    @ApiModelProperty(value = "审核人sid", example = "1")
    private String auditor_sid;

    @ApiModelProperty(value = "审核人姓名", example = "1")
    private String auditor_name;

    @ApiModelProperty(value = "上级id", example = "1")
    private String parent_sid;

    @ApiModelProperty(value = "sys_group的sid，与creator_sid相关，保存时关联写入", example = "1")
    private String group_sid;

    @ApiModelProperty(value = "归属sid，可以是sys_user_sid，也可以是sys_group的sid，需要根据不同的业务场景确定", example = "1")
    private String owner_sid;

    @ApiModelProperty(value = "编码，本级编码", example = "1")
    private String code;

    @ApiModelProperty(value = "完整编码，点号分隔形成多级编码", example = "1")
    private String full_code;

    @ApiModelProperty(value = "名称", example = "1")
    private String name;

    @ApiModelProperty(value = "排序", example = "1")
    private Integer sn;

    @ApiModelProperty(value = "状态，1-有效，-1-删除", example = "1")
    private Integer state;

    @ApiModelProperty(value = "删除标志，0-未删除，1-已删除", example = "1")
    private Integer dr;

    @ApiModelProperty(value = "删除时间", example = "1")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    private Date dr_date;

    @ApiModelProperty(value = "删除人员sid", example = "1")
    private String dr_user_sid;

    @ApiModelProperty(value = "删除人名称 ", example = "1")
    private String dr_user_name;

    @ApiModelProperty(value = "备注", example = "1")
    private String note_info;

    @ApiModelProperty(value = "年份", example = "1")
    private Integer yyyy;

    @ApiModelProperty(value = "月份", example = "1")
    private Integer mm;

    @ApiModelProperty(value = "日期", example = "1")
    private Integer dd;

    @ApiModelProperty(value = "旬，1-上旬，2-中旬，3-下旬", example = "1")
    private Integer ten_days;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private BigDecimal ext0;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private BigDecimal ext1;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private BigDecimal ext2;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private BigDecimal ext3;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private String ext4;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private String ext5;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private String ext6;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private String ext7;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private String ext8;

    @ApiModelProperty(value = "是否有附件文件", example = "1")
    private Integer file;

    @ApiModelProperty(value = "记录增加类型，single-单个增加，bat-批量增加，imp-导入，api-api调用增加", example = "1")
    private String add_type;

    @ApiModelProperty(value = "退货日期", example = "1")
    @JsonFormat(pattern = "yyyy-MM-dd", locale = "zh", timezone = "GMT+8")
    private Date return_date;

    @ApiModelProperty(value = "供应商的sid，sys_supplier的sid", example = "1")
    private String supplier_sid;

    @ApiModelProperty(value = "供应商名称", example = "1")
    private String supplier_name;

    @ApiModelProperty(value = "供应商联系人", example = "1")
    private String supplier_contract_name;

    @ApiModelProperty(value = "供应商联系电话", example = "1")
    private String supplier_contract_phone;

    @ApiModelProperty(value = "仓库sid，stock_warehouse的sid", example = "1")
    private String warehouse_sid;

    @ApiModelProperty(value = "合计数量", example = "1")
    private BigDecimal qty;

    @ApiModelProperty(value = "合计金额", example = "1")
    private BigDecimal amount;

    @ApiModelProperty(value = "预估运费", example = "1")
    private BigDecimal pre_freight;

    @ApiModelProperty(value = "实付运费", example = "1")
    private BigDecimal real_freight;

    @ApiModelProperty(value = "发货方式", example = "1")
    private String delivery_mode;

    @ApiModelProperty(value = "复核人的sid，sys_group_person的sid", example = "1")
    private String review_person_sid;

    @ApiModelProperty(value = "复核时间", example = "1")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    private Date review_date;

    @ApiModelProperty(value = "附件的id数组json字符串", example = "1")
    private String file_ids;

    @ApiModelProperty(value = "是否生成了出库单，0-否，1-部分生成，2-全部生成", example = "1")
    private Integer out_bill;

    @ApiModelProperty(value = "出库单sid，表jxc_stock_outbill的sid", example = "1")
    private String out_bill_sid;

    @ApiModelProperty(value = "采购方包邮：0-否、1-是", example = "1")
    private Integer free_shipping;

    @ApiModelProperty(value = "订单金额：不包邮（订单金额=合计金额+实付运费）、包邮（订单金额=合计金额）", example = "1")
    private BigDecimal total_amount;

    @ApiModelProperty(value = "应退金额：订单金额-抹零", example = "1")
    private BigDecimal should_return_amount;

    @ApiModelProperty(value = "已退金额", example = "1")
    private BigDecimal return_amount;

    @ApiModelProperty(value = "未退金额", example = "1")
    private BigDecimal un_return_amount;

    @ApiModelProperty(value = "抹零", example = "1")
    private BigDecimal ignore_amount;

    @ApiModelProperty(value = "是否生成对账：0-否、1-是", example = "1")
    private Integer gen_finance;


    public Long getId() {
        return this.id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getSid() {
        return this.sid;
    }

    public void setSid(String sid) {
        this.sid = sid;
    }

    public Date getCreate_date() {
        return this.create_date;
    }

    public void setCreate_date(Date create_date) {
        this.create_date = create_date;
    }

    public String getCreator_sid() {
        return this.creator_sid;
    }

    public void setCreator_sid(String creator_sid) {
        this.creator_sid = creator_sid;
    }

    public String getCreator_name() {
        return this.creator_name;
    }

    public void setCreator_name(String creator_name) {
        this.creator_name = creator_name;
    }

    public Date getUpdate_date() {
        return this.update_date;
    }

    public void setUpdate_date(Date update_date) {
        this.update_date = update_date;
    }

    public String getUpdator_sid() {
        return this.updator_sid;
    }

    public void setUpdator_sid(String updator_sid) {
        this.updator_sid = updator_sid;
    }

    public String getUpdator_name() {
        return this.updator_name;
    }

    public void setUpdator_name(String updator_name) {
        this.updator_name = updator_name;
    }

    public Integer getAudit_state() {
        return this.audit_state;
    }

    public void setAudit_state(Integer audit_state) {
        this.audit_state = audit_state;
    }

    public Date getAudit_date() {
        return this.audit_date;
    }

    public void setAudit_date(Date audit_date) {
        this.audit_date = audit_date;
    }

    public String getAuditor_sid() {
        return this.auditor_sid;
    }

    public void setAuditor_sid(String auditor_sid) {
        this.auditor_sid = auditor_sid;
    }

    public String getAuditor_name() {
        return this.auditor_name;
    }

    public void setAuditor_name(String auditor_name) {
        this.auditor_name = auditor_name;
    }

    public String getParent_sid() {
        return this.parent_sid;
    }

    public void setParent_sid(String parent_sid) {
        this.parent_sid = parent_sid;
    }

    public String getGroup_sid() {
        return this.group_sid;
    }

    public void setGroup_sid(String group_sid) {
        this.group_sid = group_sid;
    }

    public String getOwner_sid() {
        return this.owner_sid;
    }

    public void setOwner_sid(String owner_sid) {
        this.owner_sid = owner_sid;
    }

    public String getCode() {
        return this.code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getFull_code() {
        return this.full_code;
    }

    public void setFull_code(String full_code) {
        this.full_code = full_code;
    }

    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getSn() {
        return this.sn;
    }

    public void setSn(Integer sn) {
        this.sn = sn;
    }

    public Integer getState() {
        return this.state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Integer getDr() {
        return this.dr;
    }

    public void setDr(Integer dr) {
        this.dr = dr;
    }

    public Date getDr_date() {
        return this.dr_date;
    }

    public void setDr_date(Date dr_date) {
        this.dr_date = dr_date;
    }

    public String getDr_user_sid() {
        return this.dr_user_sid;
    }

    public void setDr_user_sid(String dr_user_sid) {
        this.dr_user_sid = dr_user_sid;
    }

    public String getDr_user_name() {
        return this.dr_user_name;
    }

    public void setDr_user_name(String dr_user_name) {
        this.dr_user_name = dr_user_name;
    }

    public String getNote_info() {
        return this.note_info;
    }

    public void setNote_info(String note_info) {
        this.note_info = note_info;
    }

    public Integer getYyyy() {
        return this.yyyy;
    }

    public void setYyyy(Integer yyyy) {
        this.yyyy = yyyy;
    }

    public Integer getMm() {
        return this.mm;
    }

    public void setMm(Integer mm) {
        this.mm = mm;
    }

    public Integer getDd() {
        return this.dd;
    }

    public void setDd(Integer dd) {
        this.dd = dd;
    }

    public Integer getTen_days() {
        return this.ten_days;
    }

    public void setTen_days(Integer ten_days) {
        this.ten_days = ten_days;
    }

    public BigDecimal getExt0() {
        return this.ext0;
    }

    public void setExt0(BigDecimal ext0) {
        this.ext0 = ext0;
    }

    public BigDecimal getExt1() {
        return this.ext1;
    }

    public void setExt1(BigDecimal ext1) {
        this.ext1 = ext1;
    }

    public BigDecimal getExt2() {
        return this.ext2;
    }

    public void setExt2(BigDecimal ext2) {
        this.ext2 = ext2;
    }

    public BigDecimal getExt3() {
        return this.ext3;
    }

    public void setExt3(BigDecimal ext3) {
        this.ext3 = ext3;
    }

    public String getExt4() {
        return this.ext4;
    }

    public void setExt4(String ext4) {
        this.ext4 = ext4;
    }

    public String getExt5() {
        return this.ext5;
    }

    public void setExt5(String ext5) {
        this.ext5 = ext5;
    }

    public String getExt6() {
        return this.ext6;
    }

    public void setExt6(String ext6) {
        this.ext6 = ext6;
    }

    public String getExt7() {
        return this.ext7;
    }

    public void setExt7(String ext7) {
        this.ext7 = ext7;
    }

    public String getExt8() {
        return this.ext8;
    }

    public void setExt8(String ext8) {
        this.ext8 = ext8;
    }

    public Integer getFile() {
        return this.file;
    }

    public void setFile(Integer file) {
        this.file = file;
    }

    public String getAdd_type() {
        return this.add_type;
    }

    public void setAdd_type(String add_type) {
        this.add_type = add_type;
    }

    public Date getReturn_date() {
        return this.return_date;
    }

    public void setReturn_date(Date return_date) {
        this.return_date = return_date;
    }

    public String getSupplier_sid() {
        return this.supplier_sid;
    }

    public void setSupplier_sid(String supplier_sid) {
        this.supplier_sid = supplier_sid;
    }

    public String getSupplier_name() {
        return this.supplier_name;
    }

    public void setSupplier_name(String supplier_name) {
        this.supplier_name = supplier_name;
    }

    public String getSupplier_contract_name() {
        return this.supplier_contract_name;
    }

    public void setSupplier_contract_name(String supplier_contract_name) {
        this.supplier_contract_name = supplier_contract_name;
    }

    public String getSupplier_contract_phone() {
        return this.supplier_contract_phone;
    }

    public void setSupplier_contract_phone(String supplier_contract_phone) {
        this.supplier_contract_phone = supplier_contract_phone;
    }

    public String getWarehouse_sid() {
        return this.warehouse_sid;
    }

    public void setWarehouse_sid(String warehouse_sid) {
        this.warehouse_sid = warehouse_sid;
    }

    public BigDecimal getQty() {
        return this.qty;
    }

    public void setQty(BigDecimal qty) {
        this.qty = qty;
    }

    public BigDecimal getAmount() {
        return this.amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public BigDecimal getPre_freight() {
        return this.pre_freight;
    }

    public void setPre_freight(BigDecimal pre_freight) {
        this.pre_freight = pre_freight;
    }

    public BigDecimal getReal_freight() {
        return this.real_freight;
    }

    public void setReal_freight(BigDecimal real_freight) {
        this.real_freight = real_freight;
    }

    public String getDelivery_mode() {
        return this.delivery_mode;
    }

    public void setDelivery_mode(String delivery_mode) {
        this.delivery_mode = delivery_mode;
    }

    public String getReview_person_sid() {
        return this.review_person_sid;
    }

    public void setReview_person_sid(String review_person_sid) {
        this.review_person_sid = review_person_sid;
    }

    public Date getReview_date() {
        return this.review_date;
    }

    public void setReview_date(Date review_date) {
        this.review_date = review_date;
    }

    public String getFile_ids() {
        return this.file_ids;
    }

    public void setFile_ids(String file_ids) {
        this.file_ids = file_ids;
    }

    public Integer getOut_bill() {
        return this.out_bill;
    }

    public void setOut_bill(Integer out_bill) {
        this.out_bill = out_bill;
    }

    public String getOut_bill_sid() {
        return this.out_bill_sid;
    }

    public void setOut_bill_sid(String out_bill_sid) {
        this.out_bill_sid = out_bill_sid;
    }

    public Integer getFree_shipping() {
        return this.free_shipping;
    }

    public void setFree_shipping(Integer free_shipping) {
        this.free_shipping = free_shipping;
    }

    public BigDecimal getTotal_amount() {
        return this.total_amount;
    }

    public void setTotal_amount(BigDecimal total_amount) {
        this.total_amount = total_amount;
    }

    public BigDecimal getShould_return_amount() {
        return this.should_return_amount;
    }

    public void setShould_return_amount(BigDecimal should_return_amount) {
        this.should_return_amount = should_return_amount;
    }

    public BigDecimal getReturn_amount() {
        return this.return_amount;
    }

    public void setReturn_amount(BigDecimal return_amount) {
        this.return_amount = return_amount;
    }

    public BigDecimal getUn_return_amount() {
        return this.un_return_amount;
    }

    public void setUn_return_amount(BigDecimal un_return_amount) {
        this.un_return_amount = un_return_amount;
    }

    public BigDecimal getIgnore_amount() {
        return this.ignore_amount;
    }

    public void setIgnore_amount(BigDecimal ignore_amount) {
        this.ignore_amount = ignore_amount;
    }

    public Integer getGen_finance() {
        return this.gen_finance;
    }

    public void setGen_finance(Integer gen_finance) {
        this.gen_finance = gen_finance;
    }

}
